﻿$(document).ready(function () {

    var prefijoAporte = "aporte_";
    var sufijoAporte = "_ini"

    //Carga de plugins
    load_color_box();
    setRatings();


    //Se setea el comentario afectado
    $(".responder").click(function () {
        var id = $(this).attr("id");
        var name = $(this).attr("name");

        load_color_box();


        if (name == "ini") {
            $('#currentComent').val(prefijoAporte + id + sufijoAporte);
            $('#currentType').val("N2");
            $('#currentId').val(id);
        } else {
            $('#currentComent').val(prefijoAporte + id);
            $('#currentType').val("N3");
            $('#currentId').val(id);
        }

    });


    //Se setea el comentario afectado
    $(".aporte_mod").click(function () {
        var id = $(this).attr("id");
        $('#ing_coment').attr("name", "MOD");
        $('#currentId').val(id);
        $('#aporte').val($('#des_aporte_' + id).html());
    });


    //Se setea el comentario afectado
    $(".rating").click(function () {
        var id = $(this).attr("id");
        var val = $('[name=rating_' + id + ']').RatingValue();
        ratingAportes(id, val);
    });


    //Click a borrar comentario
    $('.comen_del').click(function () {
        var confirmacion = confirm("¿Desea borrar el comentario?")
        if (confirmacion) {
            var t = $(this).attr("id");
            borrarComentario(t);
        }
    });

    //Click a modificar comentario
    $('.comen_mod').click(function () {
        var confirmacion = confirm("¿Desea borrar el comentario?")
        if (confirmacion) {
            var t = $(this).attr("id");
        }
    });


    //Click a borrar aporte
    $('.aporte_del').click(function () {
        var confirmacion = confirm("¿Desea borrar el aporte?")
        if (confirmacion) {
            var t = $(this).attr("id");
            borrarAporte(t);
        }
    });




    //Cuando se ingresa un comentario
    $('#ing_coment').click(function () {

        var accion_name = $(this).attr("name");
        var tipo = $('#currentType').val() == "N2";
        var usuario = $('#session_nombre').val();
        var usuario_rol = $('#session_rol').val();
        var pcomentario = $('#aporte').val();
        var id_aporte = "0";
        var id_afectado = $('#currentId').val();
        var id_return = $('#currentIdReturn').val();


        if (accion_name == "ING") {
            if (tipo) {
                agregarAporte(id_afectado, pcomentario);
            } else {
                agregarComentarioAporte(id_afectado, pcomentario);
            }

        }

        if (accion_name == "MOD") {
            modificarAporte(id_afectado, pcomentario);
            $('#des_aporte_' + id_afectado).html(pcomentario);
        }

        $(".inline").colorbox.close();
    });



});

function printDiv(pcomentario) {

    var tipo = $('#currentType').val() == "N2";
    var usuario = $('#session_nombre').val();
    var usuario_rol = $('#session_rol_nom').val();
    var id_return = $('#currentIdReturn').val();


    $("#" + $('#currentComent').val()).after(ingresarComent(usuario, usuario_rol, pcomentario, getShortDate(), tipo, id_return, true, $('#session_id').val()));

    load_color_box();

}


//Ingresar comentario html / jquery
function ingresarComent(pusuario, prol, pcomentario, pfecha, pbandera, pidReturn, pindPro, pidUser) {

    var html;
    var id_session = $('#session_id').val();
    var indRatingOn = pindPro ? "S" : "N";


    if (pbandera) {

        html = "<div id='aporte_" + pidReturn + "' class='content_foro'>" +
            "<div style='width:600px;height: 25px'>";

        //Si es profesor o dueño del aporte puede borrar
        if ((id_session == pidUser) || pindPro) {
            html = html + "<img id='" + pidReturn + "' class='iconsForoAporte aporte_del'  onclick='elminarAporte_nuevo(this.id)'  src='images/delete.jpg' title='Borrar aporte'/>";
        }


        //Si es dueño del aporte puede modificar
        if (id_session == pidUser) {
            html = html + "<img id='" + pidReturn + "' class='iconsForoAporte aporte_mod inline'  onclick='modificarAporte_nuevo(this.id)' src='images/pencil.jpg' title='Modificar aporte' href='#inline_content'/>";
        }

        html = html + "</div>" +
            "<div class='lbox_n2' id='div_aporte_" + pidReturn + "'>" +
              "<!--Info del usuario-->" +
               "<div class='info_user_n2'>" +
                "<div align='center'>" +
                 "<img id='" + pidReturn + "' name='MiBlog' class='fotos_user_n1' src='images/user_default.jpg' alt='' onclick='toBlog(this.id,this.name)'/>" +
                 "<p>" + pusuario + " / " + prol + "</p>" +
                "</div>" +
               "</div>" +
               "<!--Encabezado-->" +
               "<div class='encab_foro'>" +
                "<p style='text-align:right'>" + pfecha + "</p>" +
               "</div>" +
               "<p id='des_aporte_" + pidReturn + "'>" +
                 pcomentario +
                "</p>" +
               "<!--Footer-->" +
               "<div align='right'>" +
                "<a  id='" + pidReturn + "' class='inline responder' href='#inline_content' name ='n2'>Responder</a>" +
                    "</div>" +
                 "</div></div>";
    } else {


        html = "<div id='comentario_" + pidReturn + "'>";

        //Si es el mismo usuario o el profesor se habilita la opción de borrar comentario
        if ((id_session == pidUser) || pindPro) {
            html = html + "<img name='N3' id='" + pidReturn + "' class='iconsForoAporte comen_del' onclick='eliminarComentario_nuevo(this.id)' src='images/delete.jpg' title='Borrar comentario'/>";
        }


        html = html + "<div class='lbox_n3' id='aporte_n3_" + pidReturn + "'>" +
            "<!--Info del usuario-->" +
            "<div class='info_user_n3'>" +
            "<div align='center'>" +
            "<img id='" + pidReturn + "' name='MiBlog' class='fotos_user_n3' src='images/user_default.jpg' alt='' onclick='toBlog(this.id,this.name)' />" +
            "<p style='font-size:11px'>" + pusuario + " " + prol + "</p>" +
            "</div>" +
            "</div>" +
            "<!--Encabezado-->" +
            "<div class='encab_foro_n3'>" +
            "<p style='text-align:right'>" + pfecha + "</p>" +
            "</div>" +
            "<!--Contenido-->" +
            "<div id='content_foro'>" +
            "<p>" +
            pcomentario +
            "</p>" +
            "</div>" +
            "</div></div>";

    }

    return html;

}

//Cargar plugin
function load_color_box() {
    $('#aporte').val("");
    $(".inline").colorbox({ inline: true, width: "30%" });
}

//Retorna fecha que formato corto
function getShortDate() {
    var d = new Date();
    var month = d.getMonth() + 1;
    var day = d.getDate();
    var output = (day < 10 ? '0' : '') + day + '/' +
            (month < 10 ? '0' : '') + month + '/' + d.getFullYear();

    return output;
}

//Agregar aporte ajax
function agregarAporte(pid, pcomentario) {

    $.ajax({
        url: 'Aportes.aspx?accion=AGREGAR_APORTE&id_afectado=' + pid + "&comen=" + pcomentario + "&id_tema=" + $('#id_tema').val() + "&nom_tema=" + $('#nom_tema').val(),
        success: function (data) {
            var $response = $(data);
            //objeto jquery para el valor
            var id_return = $response.filter('#id_return').val();
            $('#currentIdReturn').val(id_return);
            printDiv(pcomentario);

        },
        beforeSend: function () {
            progresoBar();
        },
        complete: function () {
            progresoBarOut();
        }
    });
}

//Agregar Comentario ajax
function agregarComentarioAporte(pid, pcomentario) {

    $.ajax({
        url: 'Aportes.aspx?accion=AGREGAR_COMENTARIO&id_afectado=' + pid + "&comen=" + pcomentario + "&id_tema=" + $('#id_tema').val() + "&nom_tema=" + $('#nom_tema').val(),
        success: function (data) {
            var $response = $(data);
            //objeto jquery para el valor
            var id_return = $response.filter('#id_return').val();
            $('#currentIdReturn').val(id_return);
            printDiv(pcomentario);
        },
        beforeSend: function () {
            progresoBar();
        },
        complete: function () {
            progresoBarOut();
        }
    });
}


//Rating a aporte ajax
function ratingAportes(pid, pvalor) {
    $.ajax({
        url: 'Aportes.aspx?accion=RATING&id_afectado=' + pid + "&valor=" + pvalor + "&id_tema=" + $('#id_tema').val() + "&nom_tema=" + $('#nom_tema').val(),
        success: function (data) {
        }
    });
}


//Setea las notas
function setRatings() {

    $('.rating').each(function () {
        var nota = "nota_" + $(this).attr("id");
        var rating = "rating_" + $(this).attr("id");
        var ratingOn = $('#nota_tipo_' + $(this).attr("id")).val();
        $('[name=' + rating + ']').RatingValue($('#' + nota).val());


        if (ratingOn == "S") {
            //Se activa el modo de votar
            $('[name=' + rating + ']').RatingVote('on');
        } else {
            //Se apaga el modo de votar (solo lectura)
            $('[name=' + rating + ']').RatingVote('off');
        }

    });


}

//Borra los aportes ajax
function borrarAporte(pid) {
    $.ajax({
        url: 'Aportes.aspx?accion=BORRAR_APORTE&id_aporte=' + pid + "&id_tema=" + $('#id_tema').val() + "&nom_tema=" + $('#nom_tema').val(),
        success: function (data) {
            eliminarHijosAporte(pid);
            $('#aporte_' + pid).remove();
        },
        beforeSend: function () {
            progresoBar();
        },
        complete: function () {
            progresoBarOut();
        }
    });

}

//Borrar comentario ajax
function borrarComentario(pid) {
    $.ajax({
        url: 'Aportes.aspx?accion=BORRAR_COMENTARIO&id_comentario=' + pid + "&id_tema=" + $('#id_tema').val() + "&nom_tema=" + $('#nom_tema').val(),
        success: function (data) {
            $('#comentario_' + pid).remove();
        },
        beforeSend: function () {
            progresoBar();
        },
        complete: function () {
            progresoBarOut();
        }
    });

}

//Modificar aporte ajax
function modificarAporte(pid, pcomentario) {
    $.ajax({
        url: 'Aportes.aspx?accion=MODIFICAR_APORTE&id_aporte=' + pid + "&comentario=" + pcomentario + "&id_tema=" + $('#id_tema').val() + "&nom_tema=" + $('#nom_tema').val(),
        success: function (data) {
        },
        beforeSend: function () {
            progresoBar();
        },
        complete: function () {
            progresoBarOut();
        }
    });

}


//Modificar el aporte recien ingresador sin recargar
function modificarAporte_nuevo(pid) {
    var id = pid
    $('#ing_coment').attr("name", "MOD");
    $('#currentId').val(id);
    $('#aporte').val($('#des_aporte_' + id).html());
}


//Elimina el aporte nuevo
function elminarAporte_nuevo(pid) {

    var confirmacion = confirm("¿Desea borrar el aporte?")
    if (confirmacion) {
        var t = pid;
        borrarAporte(t);
    }
}

//Elimina el comentario nuevo
function eliminarComentario_nuevo(pid) {

    var confirmacion = confirm("¿Desea borrar el comentario?")
    if (confirmacion) {
        var t = pid;
        borrarComentario(t);
    }
}

function toBlog(pid, paccion) {

    if (paccion == "MiBlog") {
        location.href = "Blog.aspx?accion=MiBlog";
    } else {
        location.href = "Blog.aspx?accion=visitante&idUsuario=" + pid;
    }
}

function eliminarHijosAporte(pidPadre) {
    $('.comentario_n3').each(function () {
        var id = $(this).attr("id");
        var name = $(this).attr("name");

        if (pidPadre == name) {
            $(this).remove();
        }

    });
}


function progresoBar() {
    $.blockUI({
        message: '<h2>Por favor espere...</h2>'
    });

}

function progresoBarOut() {
    $.unblockUI();
}